Time Domain Reflectometry Step to S-Parameter Conversion

ABSTRACT

A method and apparatus are provided for calculating s-parameters of a device under test from step waveforms acquired by a time domain network analyzer.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication 61/300,230, filed Feb. 1, 2010 titled “Time DomainReflectometry Step to S-Parameter Conversion” to Pupalaikis et al.; andU.S. Provisional Patent Application 61/300,065, filed Feb. 1, 2010titled “Time-Domain Network Analyzer” to Pupalaikis et al., the contentsof each of these applications being incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to scattering parameters (s-parameters)calculation using measurements made by network analysis instruments ingeneral and specifically to s-parameters calculation using measurementsmade by network analysis instruments that use time domain methods andmore specifically to s-parameters calculations using measurements madeby the time domain network analyzer (TDNA) described in copending patentapplication Ser. No. ______, filed Jan. 31, 2011, titled Time DomainNetwork Analyzer or other appropriate apparatus, the entire contentsthereof being incorporated herein by reference.

BACKGROUND OF THE INVENTION

Network analyzers are instruments that characterize networks. Thecharacterization result is based on conventions and define how thenetwork will perform under various conditions. In signal integrityapplications, the common network parameters in use are s-parameters.S-parameters define port to port relationships in a network when thenetwork is driven by a source whose impedance is set to the referenceimpedance and all other ports are terminated in that same referenceimpedance. This convention allows scattering parameters to completelydefine the behavior of a network under any other driving and terminationconditions.

A standard instrument for s-parameter measurement is the vector networkanalyzer (VNA). This instrument stimulates a network with sinusoidalincident waveforms and measures the reflected sinusoidal waveforms atthe network ports, and calculates s-parameters from these measurements.This instrument is most commonly used in the field of microwaveanalysis.

The VNA needs certain user-defined inputs before it can begin measurings-parameters. For example it needs the frequency points of interest.Having obtained the user-defined inputs, one needs to calibrate the VNAto eliminate systematic errors in the instrument. If the user-definedinputs change, for example if the user decides to choose differentfrequency points for s-parameters, then the VNA necessarily needs to becalibrated again. This is an unnecessary time consuming exercise.

There are certain desirable properties of s-parameters that one mayexpect from certain kinds of networks. For example, one may have theknowledge of whether the network to be analyzed is reciprocal.Frequently the s-parameters measured by the VNA are analyzed inconjunction with other networks using some simulation methods and theuser may expect the s-parameters to satisfy some constraints based onthe knowledge of the network. During the course of simulation if it isdiscovered that the constraints are violated, then the networknecessarily needs to be remeasured or the s-parameters need to beprocessed by an external algorithm to satisfy the known constraints. Theexternal algorithms may not be optimal.

Another instrument used for s-parameter measurement uses techniquescalled time domain reflectometry (TDR) and time domain transmission(TDT) (Here we will use the commonly used acronym TDR to represent bothtechniques, the name of the instrument itself, and time domain analysisin general). TDR stimulates a network with an incident step, or pulseand measures reflected waveforms at the network ports. The device usedto generate step or step-like waveform is referred to as pulser and adevice used to measure step or a step-like waveform is referred to assampler.

Traditional, well known TDR instruments require as many pulsers andsamplers as the number of ports in the device under test (DUT). Hencethe cost of such instruments increases greatly with the increase in thenumber of ports in the DUT.

Since the s-parameters are described in frequency domain, the timedomain measurements made by the TDR instruments should be converted intofrequency domain methods. There are techniques to compute frequencyresponse of a step-like waveform. For example the algorithm described byShaarawi and Riad in “Computing the Complete FFT of a Step-likeWaveform” IEEE Transactions on Instrumentation and Measurement, VolIM-35, No. 1, March 1986 the entire contents thereof being incorporatedherein by reference, presents such a technique. Such methods result inincorrect results if the measured step-like waveforms differ in delay oramplitude.

What is needed is a method to calculate s-parameters from measurementsmade with fewer pulsers and samplers. What is also needed is a methodthat provides measured s-parameters that are robust to changes in stepcharacteristics like the delay or amplitude. What is also needed is amethod that that does not require repeated calibration if some of theoften used user-defined parameters are changed. What is also needed is amethod that can satisfy one or more user-defined constraints at the timeof measurements.

Objects of the Invention

It is an object of this invention to provide methods to calculates-parameters from step measurements, that remedies the drawbacks listedabove.

It is a further object of this invention to provide methods andapparatuses to calculate s-parameters from step measurements obtainedusing a TDNA or other appropriate apparatus, including the apparatusdescribed in the copending patent application Ser. No. ______, filedJan. 31, 2011, titled Time Domain Network Analyzer.

Still other objects and advantages of the invention will in part beobvious and will in part be apparent from the specification anddrawings.

SUMMARY OF THE INVENTION

FIG. 1 is an illustrative example that is used as a context forsummarizing the present invention. FIG. 1 describes a setup where ad-port DUT [5] is preferably connected to the TDNA [3] described in thecopending patent application Ser. No. ______, filed Jan. 31, 2011,titled Time Domain Network Analyzer. It is desired to measure thes-parameters of the DUT [5], by applying step inputs to the system andmeasuring the reflected step waveforms. As described in the copendingpatent application Ser. No. ______, filed Jan. 31, 2011, titled TimeDomain Network Analyzer, ps₁ [1] depicts a pulser-sampler, which is apulser and a sampler. The pulser-sampler [1] may apply a step-like inputand measure the reflections from the fixture [4] port marked one. Thefixture [4] port connected to the pulser-sampler [1] is referred to asthe driven port when the pulser is applying the input pulse. S₂ [2] is asampler that can measure the step-like waveform from port two of thefixture [4]. For the case when there are more than one pulsers, theports that are not driven are referred to as un-driven ports. In thisexample, the fixture [4] port connected to the the other sampler [2] isthe un-driven port. The steps measured at the driven port may bereferred to as the TDR steps and the steps measured at the un-drivenport may be referred to as the TDT steps. The ports connected to pulsersand samplers together are referred to as the system ports. In thisexample, the fixture [4] is a (d+2)-port circuit element constructed inaccordance with an embodiment of the invention described in copendingpatent application Ser. No. ______, filed Jan. 31, 2011, titled TimeDomain Network Analyzer, consisting of cables, switches, calibrationstandards and terminations. In accordance with the invention, suchcables and switches of the fixture may be arranged such that a user isable to connect the pulser-sampler [1] port to any one of the DUT [5]ports and the sampler port to any one of the DUT [5] ports.

As described in the copending patent application Ser. No. ______, filedJan. 31, 2011, titled Time Domain Network Analyzer, the switches in thefixtures are set automatically and sequentially according to thesequence table, and step measurements are saved. At the end of thesequence one has various step measurements that correspond to the casewhen the driven port and the un-driven port are connected to thecalibration standards used and various step measurements that correspondto the case when the driven port and the un-driven port are connected todifferent DUT ports. FIG. 2 illustrates an exemplary algorithm used inconverting the TDR/TDT steps to s-parameters of the DUT. As shown inFIG. 2, the algorithm requires certain user-defined parameters [8]. Forexample, the user can supply the number of frequency points and endfrequency of the DUT s-parameter result, or additionally the user canenforce certain properties like reciprocity, causality and/or passivityon the calculated DUT s-parameters [16].

The steps measured when the system ports are connected to thecalibration standards may be referred to as CAL measurement steps [6]and the steps measured when the system ports are connected to the DUTports may be referred to as the DUT measurement steps [7]. Each of theCAL measurement step [6] and DUT measurement step [7], will either be astep (for the case when measured port is not the driven port), or a stepfollowed by another step change (for the case when measured port is thedriven port). If the port is a driven port, one would like to separatethe incident step from the reflected step. Once the incident step isdetermined it may be removed from the measured waveform to obtain thereflected step. Since one may be interested in calculating the frequencyresponse, one may calculate the first difference of the measuredwaveform. For an incident step, this would correspond to the impulsethat was input to the system. For the waveform measured at the un-drivenport, the first difference of the signal would correspond to the throughimpulse response. Similarly when the incident impulse is extracted fromthe first difference of the waveform that was measured at the drivenport, the waveform would correspond to the reflected impulse response.Once the time domain impulse response is determined, one may take thechirp z-transform (CZT) to obtain the raw frequency responses—incidentresponse, reflected response and the through frequency response. Rawmeasured CAL s-parameters [9] are obtained from the calibration stepmeasurements by dividing the reflected and through response by theincident response and raw measured DUT s-parameters [10] are obtainedfrom the DUT measurements by dividing the reflected and through responseby the incident response. The CZT is well known to those skilled in theart of signal processing.

The fixture s-parameters [11] may be measured ahead of time and areintegral to the accuracy of the instrument. They are generally measuredusing a high-accuracy vector network analyzer at the factory.Preferably, they are measured at very fine frequency steps up to andincluding the highest frequency of the instrument. As an example, onecould measure 8001 frequency points from 0 to 40 GHz for a 40 GHzmeasurement. At the time of use, the fixture S-parameters must bere-sampled onto the same frequency scale that the instrument user hasrequested. In one type of operation, the user may be purposelyrestricted from using points that require interpolation of the fixtureS-parameters. This may be done by restricting the user to combinationsof the prime factors of the the number of frequency points utilized tomeasure the fixtures at the factory. For example, if the user hadselected 20 GHz as the end frequency in the aforementioned example, theunit would restrict him to numbers like 4000, 2000, 1000, 500, 100, 200,etc.—all numbers that divide into the 8000 frequency points using aninteger divisor. This allows the fixture S-parameters to be resampledthrough simple decimation. In other words, if 2001 points were requested(at 20 GHz), one may simply pick every other frequency sample in thefixture S-parameters provided. Otherwise, the user is able to pick anynumber of points, provided it is within the frequency range ofcalibration. This may be accomplished by calculating the inversediscrete Fourier transform (IDFT) of the fixture S-parameters,preferably using only the points up to the end frequency provided andthen calculating the Chirp Z-transform (CZT) of the time sequenceutilizing an arc on the unit circle representing the frequency pointsthat the user has requested. The IDFT is well known to those skilled inthe art of signal processing. These fixture S-parameters, oncere-sampled, may preferably be cached on the disk or other storage mediumso that recalculation of the re-sampled data, which can be timeconsuming, does not need to be repeated.

The raw measured calibration s-parameters [9] calculated from thecalibration steps [6] in conjunction with the fixture S-parameters [11]representing the calibration standards, may be used to generate what isreferred to as the error terms [12]. These error terms are thes-parameter representation of the network model used to model thesystematic errors. For example, the most commonly used twelve-term errormodel, as described in Agilent AN 1287-3 Applying Error Correction toNetwork Analyzer Measurements—Application Note the entire contentsthereof being incorporated herein by reference, may be used. The rawmeasured DUT s-parameters [10] calculated from the DUT measurement steps[7], in conjunction with the error terms [12] and the fixtures-parameters [11] representing the DUT connections may be used tocalculate the DUT s-parameters using the algorithm as will be describedbelow. The block shown as Solver [13] (see FIG. 2) represents thisalgorithm. If any of the input parameters change, then theaction/calculation that use those input parameters necessarily need tobe performed again. Since the acquisition of the steps don't depend onany of these parameters, once acquired, they can be stored and re-usedfor any configuration of the input parameters. The approach thusprovides robustness to the method of calculating the results, as well asa debugging option to troubleshoot problems if any.

The output of the solver [13] comprises a raw DUT s-parameter result[14], which depending on the input parameters may be further processedto enforce certain characteristics. For example, if the DUT is connectedusing cables and adapters, and if the s-parameters of these cables andadapters are known [15], then they can be de-embedded from thecalculated result to obtain the DUT s-parameters [16].

Thus as described in the copending patent application Ser. No. ______,filed Jan. 31, 2011, titled Time Domain Network Analyzer, a networkanalyzer for the present invention may preferably comprise:

-   -   One or more pulsers and two or more samplers.    -   A control system to apply an input signal through any desired        pulser and to measure the reflected waveforms by the sampler.    -   Fixtures consisting of switches, internal calibration standards,        terminations and cables connecting them.    -   A control to set the switches in a desired configuration.    -   A software medium that stores the s-parameters of fixtures under        different conditions.    -   A system that consumes the measurements made by the pulsers and        samplers, and the stored fixture s-parameters and calculates the        s-parameters of the DUT as described in this patent.

The invention accordingly comprises the several steps and the relationof one or more of such steps with respect to each of the others, and theapparatus embodying features of construction, combinations of elementsand arrangement of parts that are adapted to affect such steps, all isexemplified in the following detailed disclosure, and the scope of theinvention will be indicated in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the invention, reference is made tothe following description and accompanying drawings, in which:

FIG. 1 is a block diagram of the system used to measure the s-parametersof the DUT from step measurements made using the time domain networkanalyzer with one pulser and two samplers in accordance with anembodiment of the invention.

FIG. 2 is a flow chart indicating the algorithm to calculates-parameters from the step measurements in accordance with an embodimentof the invention.

FIG. 3 is a block diagram of an ideal system used to measure thes-parameters of the DUT from step measurements made using one or moreideal pulsers and two or more ideal samplers in accordance with anembodiment of the invention.

FIG. 4 is a block diagram for measurement conditions one and two formeasuring the s-parameters of a three port DUT using a TDNA with twopulsers and two samplers in accordance with an embodiment of theinvention.

FIG. 5 is a block diagram for measurement conditions three and four formeasuring the s-parameters of a three port DUT using a TDNA with twopulsers and two samplers in accordance with an embodiment of theinvention.

FIG. 6 is a block diagram for measurement conditions five and six formeasuring the s-parameters of a three port DUT using a TDNA with twopulsers and two samplers in accordance with an embodiment of theinvention.

FIG. 7 is a modified block diagram of FIG. 3, that uses error terms fromcalibration to account for the systematic errors due to non-idealpulsers, samplers and the connections to the fixture in accordance withan embodiment of the invention.

FIG. 8 is shows an equivalence between FIG. 3 and FIG. 7 in accordancewith an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A detailed description of the invention will now be provided, makingreference to the following drawings in which like reference numbersdesignate similar structure or steps.

FIG. 3 illustrates a setup where a d-port DUT [5] is connected to theTDNA described in the copending patent application Ser. No. ______,filed Jan. 31, 2011, titled Time Domain Network Analyzer. Otherappropriate apparatuses may also be employed. It is desired to measurethe s-parameters of the DUT [5], by preferably applying step inputs tothe system and measuring the reflected step waveforms. p/s_(k) [17] is asampler, which may also have a pulser. Thus the system may have I(≧2)samplers and one or more (maximum of I pulsers). In this example, thefixture [18] is a (I+d)-port circuit element constructed in accordancewith an embodiment of the invention (in copending patent applicationSer. No. ______, filed Jan. 31, 2011, titled Time Domain NetworkAnalyzer) preferably consisting of cables, switches, calibrationstandards and terminations. In accordance with one or more embodimentsof the invention, such cables and switches of the fixture may bearranged such that a user is able to connect a driven port to any one ofthe DUT [5] ports and the system ports to one or more of the DUT [5]ports.

Through a switch control system, the fixture switches may preferably beset to a plurality of desired positions automatically and sequentially,thus providing different paths between the system ports and the DUTports. Therefore, in accordance with such a system in accordance withthe present invention, the steps of:

-   -   setting the fixture to a particular configuration,    -   applying a step-like input to any one of the DUT ports, and    -   measuring the response (reflected waves) of the system at the        system ports        may be defined as a measurement condition. Thus, in accordance        with an embodiment of the invention, the system may        automatically and sequentially define multiple independent        measurement conditions by using different fixture        configurations. Reflected waves at the system ports may be        measured under independent measurement conditions to determine        the DUT s-parameters.

A number of independent measurement conditions depend on the number ofpulsers, samplers, and number of ports in the DUT, determined beforehandand may be stored in the form of sequence table. Such a table isdescribed in the copending patent application Ser. No. ______, filedJan. 31, 2011, titled Time Domain Network Analyzer. For example for athree port DUT connected to a TDNA with two pulsers and two samplers mayhave six DUT measurement conditions, FIG. 4 depicts the first twomeasurement conditions. As is shown, PS₁ and PS₂, comprising the twopulser-samplers, F1, comprising a six port fixture with knowns-parameters, i.e. s-parameters of f₁ and Γ_(T) are known. As is shown,port three of the DUT is terminated in a known termination Γ_(T). Thefixture may be selectively switched so that PS₁ is connected to port oneof the DUT and PS₂ is connected to port two of the DUT. For measurementcondition one, port one of the TDNA (and hence port one of the DUT) isdriven and the step reflected from DUT port one and the step transmittedthrough the DUT port two are measured at the system ports. Next port twoof the TDNA (and hence port two of the DUT) is driven and the stepreflected from DUT port two and the step transmitted through the DUTport one are measured at the system ports. FIG. 5 depicts the third andthe fourth measurement conditions where the fixture is switched so thatPS₁ is connected to port one of the DUT and PS₂ is connected to portthree of the DUT and port two of the DUT is terminated with a knowntermination Γ_(T). Next port one of the TDNA (and hence port one of theDUT) is driven and the step reflected from DUT port one and the steptransmitted through the DUT port three are measured at the system ports.Next port two of the TDNA (and hence port three of the DUT) is drivenand the step reflected from DUT port three and the step transmittedthrough the DUT port one are measured at the system ports. FIG. 6depicts the fifth and the sixth measurement condition where the fixtureis switched so that PS₁ is connected to port two of the DUT and PS₂ isconnected to port three of the DUT and port one of the DUT is terminatedwith a known termination Γ_(T). Next port one of the TDNA (and henceport two of the DUT) is driven and the step reflected from DUT port twoand the step transmitted through the DUT port three are measured at thesystem ports. Next port two of the TDNA (and hence port three of theDUT) is driven and the step reflected from DUT port three and the steptransmitted through the DUT port two are measured at the system ports.

The fixtures shown for the measurement conditions preferably have twoseparate characteristics, i.e. there are separate fixtures forterminations and separate for the DUT connections. This does not have tobe the case, as long as the switches are switched as described above,and the six port s-parameters are measured beforehand (as described inthe copending patent application Ser. No. ______, filed Jan. 31, 2011,titled Time Domain Network Analyzer).

Once the steps corresponding to calibration and DUT measurements underdifferent conditions are measured, each of the CAL or DUT measurementstep may be first denoised using the algorithm described in the patentapplication Ser. No. 12/890,832, filed Sep. 27, 2010, titled Waveletdenoising for time-domain network analysis), and will be referred to asthe denoised CAL measurement step or denoised DUT measurement steprespectively.

Each of the denoised CAL or denoised DUT measurement step, willpreferably either be a step (for the case when measured port is not thedriven port), or a step followed by another step change (for the casewhen measured port is the driven port). If the port is a driven port,the incident step is separated from the reflected step. The incidentstep may be found by first finding the edge location ¼-th way betweenthe minimum and the maximum value from the left. Once this edge locationis found (which is coarse), it may be refined by finding the edgehalfway between the coarse edge location minus an input parameter calledthe side length to the coarse edge location plus the side-length. Thiscalculation of the edge location should handle all cases of edge findingin an input waveform as long as any noise is not greater than ¼-th thestep size before the occurrence of the step. Once this edge location isfound, the incident waveform may be found from the refined edge timeminus the side-length to the refined edge location plus an inputparameter called the incident length. The incident length and the sidelength may be determined from certain characteristics like rise time ofthe pulser. Once the incident step is determined it may be removed fromthe measured waveform to obtain the reflected step. Since one may beinterested in calculating the frequency response, the first differenceof the measured waveform may be preferably be formed. For an incidentstep, this would correspond to the impulse that was input to the system.The first difference of a signal s(n) is denoted as d(n) and may bedefined as

$\begin{matrix}{{d(n)} = \{ \begin{matrix}{s(0)} & {{{if}\mspace{14mu} n} = 0} \\{{s(n)} - {s( {n - 1} )}} & {{{if}\mspace{14mu} n} > 0}\end{matrix} } & (1)\end{matrix}$

For the waveform measured at the un-driven port, the first difference ofthe signal would correspond to the through impulse response. Similarlywhen the incident impulse is extracted from the first difference of thewaveform that was measured at the driven port, the waveform wouldcorrespond to the reflected impulse response. Once the time domainimpulse response is determined, one may take the CZT to obtain the rawfrequency responses—incident response, reflected response and thethrough frequency response. Raw measured s-parameters may be obtained bydividing the reflected and through response by the incident response.The CZT is well known to those skilled in the art of signal processing.The above mentioned approach to calculate the raw measured S-parametersis robust to changes in step characteristics, like delay or amplitude,since any change in the incident step would affect the reflected andtransmitted waveform in a similar fashion, thereby nullifying itseffects.

Once the raw measured S-parameters are obtained, they may be used inconjunction with the fixture S-parameters to calculate the DUTs-parameters using the algorithm described next.

In accordance with various embodiments of the invention, a descriptionof the case where pulsers and samplers [17] are considered ideal (FIG.3) will first be described, i.e. a system without any systematic errorsis considered. Thereafter, a calibration step that is preferablyimplemented before use of the system to determine s-parameters will bedescribed below upon the lifting of the supposition of ideal pulsers andsamplers. (After the calibration step, the circuit can still berepresented as shown in FIG. 3, except that the fixture s-parametermatrix will be different than originally presented with the idealsuppositions in place.)

Since all the time domain measurements have been converted intofrequency domain, the algorithm proceeds to calculate the DUTs-parameters for each frequency of interest. The procedure is the samefor each frequency. So the notations described below are understood tobe for each frequency unless otherwise specified. In order to determinethe s-parameters of the DUT from M measurements, the method and systemin accordance with the invention first defines an expression thatrelates the s-parameters of the fixture and the DUT, to that of thesystem s-parameters. Let S be the DUT s-parameter matrix at a particularfrequency of interest and F_(m) be the fixture [18] s-parameter matrixat the same frequency and for measurement condition m. The s-parametermatrix F_(m) is measured beforehand. Then S is of size d×d (where d isthe number of ports in the DUT [5]) and F_(m) is of size (d+I)×(d+I)(where I is the number of samplers). Partition the matrix F, as shownbelow:

$F_{m} = {\begin{pmatrix}{- F_{m\; 24}} & {- F_{m\; 21}} \\{I \times I} & {I \times d} \\{- F_{m\; 34}} & {- F_{m\; 31}} \\{d \times I} & {d \times d}\end{pmatrix}.}$

Here the size of each sub-matrix is written below, e.g. F_(m24) is ofsize I×I.

Let B_(DUTm) represent a vector of length d, where each element b_(i) isa complex number corresponding to amplitude and phase of the reflectedwave at port i of the DUT, under measurement condition m. And A_(DUTm)is a vector of length d, where each element a_(i) is a complex numbercorresponding to amplitude and phase of the incident wave at port i ofthe DUT, under measurement condition m. Similarly, B_(SYSm) is a vectorof length I, comprising of reflected waves at the I system ports andA_(SYSm) is a vector of length I, comprising of incident waves at the Isystem ports.

A reflected wave at each port of a device can be written in terms of thewaves incident at the device (a_(i)'s) and the device s-parameters. Thesystem of equations for the complete circuit is given as:

$\begin{matrix}{{\underset{\underset{A}{}}{\begin{pmatrix}I & 0 & {- S} & 0 \\F_{m\; 21} & I & 0 & F_{m\; 24} \\F_{m\; 31} & 0 & I & F_{m\; 34} \\0 & 0 & 0 & I\end{pmatrix}} \cdot \underset{\underset{x}{}}{\begin{pmatrix}B_{{DUT}_{m}} \\B_{{SYS}_{m}} \\A_{{DUT}_{m}} \\A_{{SYS}_{m}}\end{pmatrix}}} = {\underset{\underset{b}{}}{\begin{pmatrix}0 \\0 \\0 \\e_{m}\end{pmatrix}}.}} & (2)\end{matrix}$

Here e_(m) is a vector of size I×1 with all zeros except a one at thelocation corresponding to the system port that is driven. Since thesteps have been converted into frequency response, an element k of theB_(SYSm) will be the frequency response for the port k under measurementcondition m, and hence the input is considered ideal. Performing Gausselimination gives the L and the U factors of A. Equation(2) can be thenwritten as

$\begin{matrix}{{{\begin{pmatrix}I & 0 & 0 & 0 \\F_{m\; 21} & I & 0 & 0 \\F_{m\; 31} & 0 & I & 0 \\0 & 0 & 0 & I\end{pmatrix} \cdot \begin{pmatrix}I & 0 & {- S} & 0 \\0 & I & {F_{m\; 21}S} & F_{m\; 24} \\0 & 0 & {I + {F_{m\; 31}S}} & F_{m\; 34} \\0 & 0 & 0 & I\end{pmatrix}}\begin{pmatrix}B_{{DUT}_{m}} \\B_{{SYS}_{m}} \\A_{{DUT}_{m}} \\A_{{SYS}_{m}}\end{pmatrix}} = {\begin{pmatrix}0 \\0 \\0 \\e_{m}\end{pmatrix}.}} & (3)\end{matrix}$

Applying L⁻¹ on both the sides reduces the above equation may besimplified to:

$\begin{matrix}{{{\begin{pmatrix}I & 0 & {- S} & 0 \\0 & I & {F_{m\; 21}S} & F_{m\; 24} \\0 & 0 & {I + {F_{m\; 31}S}} & F_{m\; 34} \\0 & 0 & 0 & I\end{pmatrix} \cdot \begin{pmatrix}B_{{DUT}_{m}} \\B_{{SYS}_{m}} \\A_{{DUT}_{m}} \\A_{{SYS}_{m}}\end{pmatrix}} = \begin{pmatrix}0 \\0 \\0 \\e_{m}\end{pmatrix}},} & (4)\end{matrix}$

which can be solved using back substitution to obtain the solution.

A_(SYSm)=e_(m),   (5)

A _(DUTm)=(I+F _(m31) ·S)⁻¹·(−F _(m34) ·A _(SYSm)),   (6)

B _(SYSm) =F _(m21) ·S·A _(DUTm) −F _(m24) ·A _(SYSm),   (7)

B _(DUTm) =S·A _(DUTm).   (8)

So, in accordance with embodiments of the invention the inventors havedetermined that it may be desirable to observe systems-parameters—B_(SYSm) for M different measurement conditions and solvefor DUT s-parameters S by using the system of equations defined above(5-8).

Linear solver for DUT s-parameters: The inventors of the presentinvention have determined that in general, the system of equations (5-8)cannot be solved in a linear fashion to obtain the DUT s-parameters S.But, as has further been determined by the inventors of the presentinvention, there exists a linear solution to obtain DUT s-parameters forthe following two cases:

-   -   when the number of samplers is greater than or equal to the        number of DUT ports and the number of measurement conditions is        greater than or equal to the number of DUT ports, and    -   when the terminations are ideal reference impedance and the        fixture switch isolation is ideal, i.e. if k is the fixture port        number to which a DUT port is connected and that DUT port is        terminated by the known termination, then the k-th row and k-th        column of the fixture matrix should be all zeros.

Putting equation (8) and (5) into equation (7),

B_(SYSm) =−F _(m21) ·B _(DUTm) −F _(m21) ·A _(SYSm),   (9)

Here matrix F_(m21) is a square or skinny matrix, i.e. a matrix with thenumber of rows greater than the number of columns, of a sizecorresponding to the number of samplers by the number of DUT ports. Theabove equation can be solved for B_(DUTm):

B _(DUTm) =−F _(m21) ⁻¹·(B _(SYSm) +F ₂₄ ·A _(SYS)).   (10)

If F_(m21) is skinny, then the above inverse can be replaced by apseudo-inverse to obtain a least squares solution for B_(DUTm). Equation(6) can now be rearranged to get:

$\begin{matrix}\begin{matrix}{{( {I + {F_{m\; 31} \cdot S}} ) \cdot A_{{DUT}_{m}}} = {{- F_{m\; 34}} \cdot A_{{SYS}_{m},}}} \\{{ \Rightarrow A_{{DUT}_{m}}  = {{{- F_{m\; 31}} \cdot S \cdot A_{{DUT}_{m}}} - {F_{m\; 34} \cdot A_{{SYS}_{m}}}}},} \\{{ \Rightarrow A_{{DUT}_{m}}  = {{{- F_{m\; 31}} \cdot B_{{DUT}_{m}}} - {F_{m\; 34} \cdot A_{{SYS}_{m}}}}},}\end{matrix} & (11)\end{matrix}$

For each measurement condition, in accordance with embodiments of theinvention, vectors B_(DUTm) and A_(DUTm) may be calculated fromequations (10) and (11), and the column vectors may be concatenated tocreate matrices B_(DUT) and A_(DUT):

B_(DUT)=[B_(DUT1) B_(DUT2) . . . B_(DUTM)]  (12)

A_(DUT)=[A_(DUT1) A_(DUT2) . . . A_(DUTM)]  (13)

The DUT s-parameters can now be calculated from the expression

S·A_(DUT)−B_(DUT),   (14)

S=B _(DUT) ·A _(DUT) ⁻¹.   (15)

For the case when the number of measurement conditions is greater thannumber of DUT ports, A_(DUT) will be a fat matrix, i.e. a matrix withnumber of rows less than number of columns, and the inverse in equation(15) can be replaced by a pseudo-inverse to obtain a least squaressolution for the DUT s-parameters.

Linear solver for reciprocal DUT 8-parameters: A reciprocal DUTsatisfies the following relationship:

S−S^(T).

Here the T denotes the transpose of the matrix. Equation (14) has d²unknowns corresponding to the number of s-parameters and d×M equationscorresponding to the number of entries in the B_(DUT) matrix. Each ofthese d×M equations can be written by expanding the matrix equation(14). For example, the equation corresponding to the (i, j) entry in theB matrix is given as

$\begin{matrix}{{\sum\limits_{k = 1}^{d}\; {S_{ik}A_{{DUT}_{kj}}}} = {B_{{DUT}_{ij}}.}} & (16)\end{matrix}$

For a reciprocal DUT the number of unknowns reduce to

$\frac{d \cdot ( {d + 1} )}{2}.$

If one denotes all the elements on the diagonal of S and all theelements in the lower triangular portion of S, i.e. S_(i,j) for i≧j,then one can substitute each S_(ik,i)<k in equation (16) by S_(ki).Equation (16) can now be re-written as:

G·Ŝ _(vec) =B _(vec),   (17)

where B_(vec) is “vectorized” B_(DUT) ^(T) in equation (14), Ŝ_(vec) isthe “vectorized” diagonal plus lower-triangular portion of S, and G is acoefficient matrix generated using entries of A_(DUT) so that theequation (16) is satisfied for each element of B_(DUT). Here,“vectorized” B_(DUT) ^(T) means taking each column of the matrix B_(DUT)^(T), and stacking them on top of each other. So if B_(DUT) is of sized×M, then

${B_{vec} = \begin{pmatrix}B_{{DUT}*1}^{T} \\B_{{DUT}*2}^{T} \\\vdots \\B_{{DUT}*d}^{T}\end{pmatrix}},$

where B_(DUT*k) ^(T) is the k-th column of B_(DUT) ^(T). S_(vec) isformed by using only the diagonal and lower-triangular portion of S.

${S_{{vec}\;} = \begin{pmatrix}S_{{1:d},1} \\S_{{2:d},2} \\\vdots \\S_{dd}\end{pmatrix}},{where}$ $S_{{k:d},k} = {\begin{pmatrix}S_{k,k} \\S_{{k + 1},k} \\\vdots \\S_{d,k}\end{pmatrix}.}$

As an example, the matrix G for a two port, reciprocity enforced DUT,and two measurement conditions, is given by:

${{\begin{pmatrix}a_{1,1} & a_{2,1} & 0 \\a_{1,2} & a_{2,2} & 0 \\0 & a_{1,1} & a_{2,1} \\0 & a_{1,2} & a_{2,2}\end{pmatrix} \cdot \begin{pmatrix}S_{1,1} \\S_{2,1} \\S_{2,2}\end{pmatrix}} = \begin{pmatrix}b_{1,1} \\b_{2,1} \\b_{1,2} \\b_{2,2}\end{pmatrix}},$

where a_(i,j) is the (i,j) entry of the matrix A_(DUT), b_(i,j) is the(i,j) entry of the matrix B_(DUT), and S_(i,j) is the (i,j) entry of thematrix S. The above approach may be generalized for d-port DUT and Mmeasurement conditions.

Nonlinear solver for DUT s-parameters: For the system where linearsolution is not possible, the inventors of the present invention havedetermined to use a LevenbergMarquardt algorithm, such as that describedin “Nadim Khalil, VLSI Characterization with Technology Computer-AidedDesign-PhD Thesis, Technische Universitat Wien, 1995” to solve thefollowing non-linear optimization problem:

$\begin{matrix}{\min\limits_{S}{\sum\limits_{m = 1}^{M}\; {{{f_{m_{measured}} - {f_{m}(S)}}}_{2}^{2}.}}} & (18)\end{matrix}$

where f_(m) _(measured) is the measured system s-parameters formeasurement condition m and f_(m)(S) is the analytical expression forthe system s-parameters given in equations (7) and (6). The analyticalexpression can be simplified as

f _(m)(S)=−F _(m21) ·S·(I+F _(m31) ·S)⁻¹·(−F _(m34) ·A _(SYSm))−F _(m24)·A _(SYSm),   (19)

which for the given system input A_(SYSm) and a guess for DUTs-parameters generates the system output B_(SYSm). Through thealgorithm, it may be desired to determine an S that minimizes thedistance between the analytical expression and the actual measurement.Levenberg-Marquardt optimization algorithm, for each iteration, requiresevaluation of two functions:

-   -   Evaluation of f_(m)(S) as a function of current guess for DUT        s-parameter.    -   Partial derivative of the f_(m)(S) with respect to DUT        s-parameters, evaluated at current guess for DUT s-parameters        The function f_(m)(S) is evaluated as shown in equation (19),        while the partial derivatives calculation will now be described.

Partial Derivatives: One method of calculating the partial derivativeswould be to use the finite difference approximation, i.e.

${\frac{\partial{f_{m}(S)}}{\partial S_{ij}} = \frac{{f_{m}( {S + {\varepsilon \cdot e_{i} \cdot e_{j}^{T}}} )} - {f_{m}(S)}}{\varepsilon}},$

for a small value of ε. Here e_(i) is a vector of size DUT ports, withall zeros and a one at the i-th location, and e_(j) is a vector of sizeDUT ports, with all zeros and a one at the j-th location. But thisnumerical calculation is costly as it involves extra calculation ofmatrix inverse. To save on this calculation cost, an analyticalexpression may be derived for the partial derivatives. For eachmeasurement condition, the expression for partial derivative will be thesame. In order to avoid cumbersome notations, the suffix m is droppedfrom the derivation. Hence equation (19) may be written as:

f(S)=−F ₂₁ ·S·(I+F ₃₁ ·S)⁻¹·(−F ₃₄ ·A _(SYS))−F ₂₄ ·A _(SYS).

The analytical expression of partial derivative with respect to anelement S_(ij) may be computed by finding the limits shown below:

$\begin{matrix}{{\frac{\partial{f(S)}}{\partial S_{ij}} = {\lim\limits_{\varepsilon->0}\; \frac{{f( {S + {\varepsilon \cdot e_{i} \cdot e_{j}^{T}}} )} - {f(S)}}{\varepsilon}}},} & (20)\end{matrix}$

Equation (19) is used to compute f(S+ε·e_(i)·e_(j) ^(T)).

f(S+ε·e _(i) ·e _(j) ^(T))=−F ₂₁·(S+ε·e _(i) ·e _(j) ^(T))·(I+F₃₁·(S+ε·e _(i) ·e _(j) ^(T)))⁻¹·(−F ₃₄ ·A _(SYS))−F ₂₄ ·A _(SYS)   (21)

Using Shermann-Morisson formula, the (I+F₃₁·(S+ε·e_(i)e_(j) ^(T)))⁻¹ isgiven by

$( {I + {F_{31} \cdot ( {S + {\varepsilon \cdot e_{i} \cdot e_{j}^{T}}} )}} )^{- 1} = {( {I + {F_{31} \cdot S}} )^{- 1} - {\frac{( {I + {F_{31} \cdot S}} )^{- 1} \cdot \varepsilon \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1}}{1 + {\varepsilon \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i}}}.}}$

Substituting the above equation in equation (21),

$\begin{matrix}{{f( {S + {\varepsilon \; e_{i}e_{j}^{T}}} )} = {{F_{21} \cdot ( {S + {\varepsilon \cdot e_{i} \cdot e_{j}^{T}}} ) \cdot ( {( {I + {F_{31} \cdot S}} )^{- 1} - F_{24}} ) \cdot A_{SYS}} -}} \\{{\lbrack {F_{21} \cdot ( {S + {\varepsilon \cdot e_{i} \cdot e_{j}^{T}}} ) \cdot \frac{( {I + {F_{31} \cdot S}} )^{- 1} \cdot \varepsilon \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1}}{1 + {\varepsilon \cdot {e_{j}^{T}( {{\cdot I} + {F_{31} \cdot S}} )}^{- 1} \cdot F_{31} \cdot e_{i}}} \cdot F_{34}} \rbrack \cdot A_{SYS}}} \\{= {{\lbrack {{F_{21} \cdot S \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{34}} - F_{24}} \rbrack \cdot A_{SYS}} + {\varepsilon \cdot F_{21} \cdot e_{i} \cdot e_{j}^{T} \cdot}}} \\{{{( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{34} \cdot A_{SYS}} -}} \\{{\frac{\varepsilon \cdot F_{21} \cdot e_{i} \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot \varepsilon \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{34} \cdot A_{SYS}}{1 + {\varepsilon \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i}}} -}} \\{\frac{\varepsilon \cdot F_{21} \cdot S \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{34} \cdot A_{SYS}}{1 + {\varepsilon \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i}}}} \\{= {{f(S)} - {\varepsilon \cdot F_{21} \cdot e_{i} \cdot e_{j}^{T} \cdot A_{DUT}} + \frac{\varepsilon \cdot F_{21} \cdot S \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T} \cdot A_{DUT}}{1 + {\varepsilon \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i}}} +}} \\{\frac{\varepsilon^{2} \cdot F_{21} \cdot e_{i} \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T}}{1 + {\varepsilon \cdot e_{j}^{T} \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i}}}} \\{{{\therefore\frac{\partial{f(S)}}{\partial S_{ij}}} = {{F_{21} \cdot S \cdot ( {I + {F_{31} \cdot S}} )^{- 1} \cdot F_{31} \cdot e_{i} \cdot e_{j}^{T} \cdot A_{DUT}} - {F_{21} \cdot e_{i} \cdot e_{j}^{T} \cdot A_{DUT}}}}}\end{matrix}$

Putting the suffix m back, the partial derivative for each measurementcondition is defined as:

$\begin{matrix}{{\therefore\frac{\partial{f_{m}(S)}}{\partial S_{ij}}} = {F_{m\; 21} \cdot \lbrack {{S \cdot ( {I + {F_{m\; 31} \cdot S}} )^{- 1} \cdot F_{m\; 31}} - I} \rbrack \cdot e_{i} \cdot e_{j}^{T} \cdot {A_{{DUT}_{m}}.}}} & (22)\end{matrix}$

Comparing equations (19) and (22), one can observe that for eachiteration of the optimization algorithm, only one evaluation of theinverse is required.

Symbolic Sub-Circuits: Instead of deriving the equations for f_(m)(S)and its partial derivative, one can use system description described inU.S. patent application Ser. No. 12/418,645, filed Apr. 6, 2009 toPupalaikis et al., titled Method for De-embedding Device Measurements,the entire contents thereof being incorporated herein by reference, tosolve for the DUT s-parameters using the non-linear algorithm. A systemdescription is essentially a method to describe the circuit. Theinventors may preferably modify a format of the traditional systemdescription on two counts:

-   -   An additional information about whether the system port is        connected to a pulser is preferably provided. In the system        description all the system ports are assumed to be connected to        a pulser and hence if one were to calculate the s-parameters of        the system, then it would always be a square matrix. With this        additional information, depending on the pulser number, one can        now choose one or more columns of this s-parameter matrix.    -   The system description, at the time of its creation, requires to        input information about the s-parameters of the devices that        constitute the system. The inventors of the present invention        propose a system that may modify that aspect wherein that        information is not required at the time of the creation of the        description, but only needed when one wants the output        s-parameters of the system.

This modified system description is referred to as symbolic sub-circuitas it is a symbolic representation of each circuit in the measurementcondition. Now one does not need to know the details about theequations, which may change if the circuit changes. Each time one needsto create the circuit, supply the s-parameters of the devices thatconstitute the system and obtain the system s-parameters. Although thecircuit shown in FIG. 3 is fairly simple and remains the same for allthe measurement conditions, requiring to figure out the equations onlyonce, the use of symbolic sub-circuits makes it easier to obtain systems-parameters if one were to impose any additional criteria on thesystem. For example one may choose a very specific form of fixture foreach measurement condition. To use this additional information for eachmeasurement condition would require a careful re-examination ofequations (19) and (22). Instead one can now input the symbolicsub-circuits for each measurement condition to the non-linear algorithm.All the known s-parameters are supplied to the symbolic sub-circuits.For each iteration, the non-linear algorithm now inputs the guess S forthe DUT s-parameters to obtain f_(m)(S). In order to obtain the partialderivative with respect to S_(ij), one may input the guessS+ε·e_(i)·e_(j) ^(T), for small ε and obtain the system s-parametersf_(m)(S+ε). The partial derivative can now be computed numericallywithout taking the limits in the equation (20).

Approximate Solution: As mentioned above the two conditions for a linearsolution to exist are:

-   -   when the number of samplers is greater than or equal to the        number of DUT ports and the number of measurement conditions is        greater than or equal to the number of DUT ports, and    -   when the terminations are ideal and the fixture switch isolation        is ideal, i.e. if k is the fixture port number to which a DUT        port is connected and that DUT port is terminated by the known        termination, then the k-th row and k-th column of the fixture        matrix should be all zeros.        For the case when the number of samplers is less than the number        of DUT ports and the switch terminations may or may not be ideal        and the fixture switch isolation may or may not be ideal, the        inventors of the present invention have a developed a method to        calculate an approximate answer for the DUT s-parameters. The        answer would be close to the actual solution if the terminations        are close to reference impedance and if the fixture switches are        isolated from one another, i.e. if k is the fixture port number        to which a DUT port is connected and that DUT port is terminated        by the known termination, then the approximate solution is close        to the actual solution if the k-th row and the k-th column of        the fixture matrix is close to zero.

In order to calculate the approximate solution, first the symbolicsub-circuits are created for each measurement condition. This array ofsymbolic sub-circuits are then grouped together so that the symbolicsub-circuits for which the DUT ports that are connected to the systemports are the same. For example if we there are three DUT ports and twosamplers and one pulser, then the grouping is shown in the FIG. 9. Herecolumn one [21] is the group number. The symbolic sub-circuits that havethe DUT port connected to pulser listed in column two [22] and the DUTports connected to the system ports in column three [23] form a part ofthe group. The indices of the approximate s-parameter results are shownin column four [24]. For example, when the symbolic sub-circuits ofgroup one are used to obtain approximate solution using linear method,the result is the DUT s-parameters corresponding to the indices shown in[24], i.e. the solution will consist of S₁₁, S₂₁, S₁₂, and S₂₂.

As can be seen in the FIG. 9, S₁₁, S₂₂ and S₃₃ are common in two groups.Both these solutions are averaged together to get one value. Theseapproximate solution is possible for any number of DUT ports, one ormore pulsers and two or more samplers. One can also use the approximatesolution as an initial guess for the non-linear algorithm and therebyincreasing the speed of convergence.

Once the DUT s-parameters are calculated, it can be verified if the DUTcorresponds to a causal and passive device. If desired, one can enforcepassivity or causality after the DUT s-parameters have been calculated.The following sections below will describe a method of enforcingpassivity and causality in accordance with the present invention.

Enforcing Reciprocity while using non-linear solver: The non-linearalgorithm remains the same except that the number of unknowns for ad-port reciprocal DUT are now

$\frac{d \cdot ( {d + 1} )}{2}$

instead of d², and the partial derivatives in equation (22) are modifiedto

$\begin{matrix}{{{\therefore\frac{\partial{f_{m}(S)}}{\partial S_{ii}}} = {F_{m\; 21} \cdot \lbrack {{S \cdot ( {I + {F_{m\; 31} \cdot S}} )^{- 1} \cdot F_{m\; 31}} - I} \rbrack \cdot e_{i} \cdot e_{i}^{T} \cdot A_{{DUT}_{m}}}},} & (23)\end{matrix}$

for the derivative with respect to the diagonal elements in S and

$\begin{matrix}\begin{matrix}{{\therefore\frac{\partial{f_{m}(S)}}{\partial S_{ij}}} = {F_{m\; 21} \cdot \lbrack {{S \cdot ( {I + {F_{m\; 31} \cdot S}} )^{- 1} \cdot F_{m\; 31}} - I} \rbrack \cdot}} \\{{{e_{i} \cdot e_{j}^{T} \cdot A_{{DUT}_{m}}} +}} \\{{F_{m\; 21} \cdot \lbrack {{S \cdot ( {I + {F_{m\; 31} \cdot S}} )^{- 1} \cdot F_{m\; 31}} - I} \rbrack \cdot}} \\{{{e_{j} \cdot e_{i}^{T} \cdot A_{{DUT}_{m}}},}}\end{matrix} & (24)\end{matrix}$

for the case when i<j. Since S_(ij)=Sji, the upper triangular part of Sis not a part of the unknown and the case j>i is not considered.

Passivity Enforcement: A device is passive if the energy in reflectedwaves is always less than or equal to the energy in the incident waves.This in turn implies that a passive device with s-parameter matrix Swill satisfy:

∥S∥₂≦1,

where ∥·∥₂ is the induced two norm of a matrix. To enforce passivity,for each frequency the following steps are preferably performed:

-   -   1. Is ∥S∥≦1? If yes then continue checking for next frequency        else go to next step.    -   2. Let S=UΣV^(H) be the singular value decomposition (SVD) of S.        Since the norm violates the passivity criteria, one or more        diagonal entries of Σ are greater than 1, i.e. Σ_(k,k)=1+|δ_(k)|        for k ε {1, 2, . . . , K}, K≦DUT ports, and |δ_(k)|>0.    -   3. Let (ΔΣ) be a diagonal matrix of order n=DUT ports, with the        diagonal equal to (|δ₁|, |δ₂|, . . . , |δ_(k)|, 0, . . . , 0).        Now form the matrix (ΔS) so that (ΔS)−U(ΔΣ)V^(H).    -   4. Now ∥S−ΔS∥₂=1. Thus the perturbed matrix satisfies the        passivity criteria.

Causality Enforcement: Causality enforcement on a set of s-parameters isperformed using an inverse DFT followed by impulse response lengthlimits, followed by a DFT. Some special care must be taken to avoidpre-shoot and pre-ringing due to samples not landing precisely on asample point. To understand this, consider a perfect delta function(i.e. impulse response is 1 followed by all zeros), but whose impulse isshifted by a fraction of a sample—the impulse response of such afunction will exhibit a

$\frac{\sin (x)}{x}$

type of impulse response with potentially a lot of pre and post ringingin the response. It would be grossly incorrect to chop off the pre-ringto make a causality enforcement. Therefore, to handle this, a bestfractional sample is determined to first advance the frequency responseprior to the inverse DFT to make the pre-shoot (due only to theaforementioned effect) as small as possible.

The procedure is explained in the below given steps:

-   -   The fast method simply calculates the phase to advance by which        makes the Nyquist point real.

${\varphi = {{Angle}( \frac{H({Nyquist})}{H(0)} )}},$

-   -   where Angle(·) is a function that takes the angle of a complex        number, H(·) is the frequency response on which the causality is        enforced, H(Nyquist) is the frequency response evaluated at        Nyquist frequency, and H(0) is the frequency response evaluated        at zero Hz. If φ<0, we add multiples of 2π until φ>0. The        fractional sample is then defined as

${{Fractional}\mspace{14mu} {Sample}} = \frac{\varphi}{\pi}$

-   -   The second method slides the signal over various sample phases        and picks the best one using the criteria that the impulse        response limited and causal impulse response produces the most        similar frequency response. The second method is obviously much        slower.

${{{Fractional}\mspace{14mu} {Sample}} = \frac{i}{N}},$

-   -   where N is the number of iterations and i=1 . . . N.

Given the fractional sample value coming from either of the two methods,the frequency response is adjusted for the fractional sample

${H_{{New}_{n}} = {H_{n} \cdot \exp^{({{\frac{{\pi}\; n}{N} \cdot {Fractional}}\mspace{14mu} {Sample}})}}},$

where N is the number of frequency points, n=0, . . . N-1 and H_(n) isthe frequency response evaluated at

$\omega = {\frac{2\pi \; n}{N}.}$

The IDFT of the above frequency response is taken to give the impulseresponse, which is then truncated to give a causal impulse response. DFTof this truncated impulse response is taken, H_(trunc)=DFT(truncatedimpulse response) and again adjusted back by the (−fractional sample) tobring it back to original delay.

$H_{final} = {H_{trunc} \cdot {\exp^{({{\frac{{- {\pi}}\; n}{N} \cdot {Fractional}}\mspace{14mu} {Sample}})}.}}$

Calibration and Error Terms: As noted above, the inventors of thepresent invention have determined that removing the ideal conditionsproposed above, and thus implementing a calibration step, does notresult in a change to the algorithm described above. Rather, suchcalibration results in a change to the fixture s-parameter matrix. Aftercalibration in accordance with the system and method of the invention,the system may be modified as shown in FIG. 7. The “Error Terms fromCalibration” [19] block in the FIG. 7 is calculated using themeasurements made during calibration procedure. The most commonly usedtwelve-term error model described in “Agilent AN 1287-3 Applying ErrorCorrection to Network Analyzer Measurements—Application Note” ispreferably employed. These error terms account for the systematic errorsdue to the non-idealities in pulsers and samplers, making the pulsersand samplers [17] blocks in the FIG. 7 appear as ideal. The abovedescribed system can then be replaced by the new system shown in FIG. 8.As can be seen from FIG. 8, the difference between the ideal system andthe system after calibration is that the fixture s-parameters havechanged. The new fixture [20] is a cascade of the error terms fromcalibration and the actual fixture. Thus all the algorithms describedabove hold true even after the calibration stage is implemented inaccordance with the invention.

Therefore, in accordance with the invention, a system and method areprovided that allow for the calibration of a system used to determines-parameters of a DUT in an automatic manner. Such calibration may alsobe implemented employing a single pulser. Once performed, suchcalibration presents a switching device in accordance with the inventionas an ideal device to the DUT, and is thus able to determines-parameters thereof employing the mathematical calculations asdescribed above. Through the user of such method and system inaccordance with the present invention, it is possible to performautomatic calibration of an s-parameter measurement system, employing asingle pulser, and then perform automatic s-parameter measurements of aDUT employing such calibrated system.

It will thus be seen that the objects set forth above, among those madeapparent from the preceding description, are efficiently attained and,since certain changes may be made in the above construction(s) withoutdeparting from the spirit and scope of the invention, it is intendedthat all matter contained in the above description or shown in theaccompanying drawing(s) shall be interpreted as illustrative and not ina limiting sense.

It is also to be understood that this description is intended to coverall of the generic and specific features of the invention hereindescribed and all statements of the scope of the invention which, as amatter of language, might be said to fall there between.

What is claimed is: 1-19. (canceled)
 20. A method for measurings-parameters of a device under test, comprising the steps of: defining afirst subset of a plurality of samplers employed in a network analyzer;acquiring a first one or more step-like waveforms by a network analyzeremploying only one pulser providing an incident step-like waveform andthe first subset of the plurality of samplers; calculating a first setof s-parameters of the device under test in accordance with the acquiredfirst one or more step-like waveforms; defining a second subset of theplurality of samplers employed in the network analyzer; acquiring asecond one or more step-like waveforms by a network analyzer employingonly one pulser providing an incident step-like waveform and the secondsubset of the plurality of samplers; and calculating a second set ofs-parameters of the device under test in accordance with the acquiredsecond one or more step-like waveforms.
 21. The method of claim 20,wherein the calculated first and second sets of s-parameters are causals-parameters of the device under test by the network analyzer.
 22. Themethod of claim 20, wherein the calculated first and second sets ofs-parameters are reciprocal s-parameters of the device under test by thenetwork analyzer.
 23. The method of claim 20, wherein the calculatedfirst and second sets of s-parameters are passive s-parameters of thedevice under test by the network analyzer.
 24. A non-transitory computerreadable storage medium having a computer program stored thereto, thecomputer program causing a computer processor to perform stepscomprising a method for measuring s-parameters of a device under test,comprising the steps of: creating one or more symbolic sub-circuits,each sub-circuit being based at least in part upon a number of pulsersand samplers in a network analyzer, a number of ports in the deviceunder test, and an interrelationship therebetween; and employing atleast in part one of the one or more symbolic sub-circuits to calculatethe s-parameters of the device under test.
 25. The storage medium ofclaim 24, wherein a number of samplers is less than a number of ports inthe device under test.
 26. The storage medium of claim 24, wherein thecalculation of the s-parameters employs a non-linear algorithm.
 27. Thestorage medium of claim 26, wherein the calculation of the s-parameterscomprises the steps of: calculating an approximate solution employing alinear algorithm; and applying the solution to the linear algorithm as aguess in accordance with the non-linear algorithm.
 28. The storagemedium of claim 24, wherein the calculation of the s-parameterscomprises calculating an approximate solution employing a linearalgorithm.
 29. The storage medium of claim 28, wherein the approximatesolution is based upon an assumption of ideal termination.
 30. A methodfor calculating s-parameters in a device under test, comprising thesteps of: acquiring one or more measurements by a network analyzer formeasuring the s-parameters of the device under test; and calculating thes-parameters of the device under test by the network analyzer whileenforcing reciprocity on a result thereof such that the result is anoptimum reciprocal solution in a least squares sense involving all ofthe calculated s-parameters of the device.
 31. A method for calculatings-parameters in a device under test, comprising the steps of: acquiringone or more measurements by a network analyzer for measuring thes-parameters of the device under test; and calculating the s-parametersof the device under test by the network analyzer while enforcingpassivity on a result thereof such that the result is an optimumsolution in a least squares sense.
 32. (canceled)